]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell-glsl-quad: Provide a paint volume
authorJasper St. Pierre <jstpierre@mecheye.net>
Mon, 1 Sep 2014 21:05:14 +0000 (14:05 -0700)
committerJasper St. Pierre <jstpierre@mecheye.net>
Mon, 1 Sep 2014 21:06:08 +0000 (14:06 -0700)
To prevent from falling back to the slow path of doing a full-stage
repaint every time.

src/shell-glsl-quad.c

index c37f73838dd42eaab38089bf6ea5e7308d8468d0..b24f0ce804affba988026332b49f57c821726ba7 100644 (file)
@@ -23,6 +23,13 @@ struct _ShellGLSLQuadPrivate
   CoglPipeline  *pipeline;
 };
 
+static gboolean
+shell_glsl_quad_get_paint_volume (ClutterActor       *actor,
+                                  ClutterPaintVolume *volume)
+{
+  return clutter_paint_volume_set_from_allocation (volume, actor);
+}
+
 static void
 shell_glsl_quad_paint (ClutterActor *actor)
 {
@@ -151,6 +158,7 @@ shell_glsl_quad_class_init (ShellGLSLQuadClass *klass)
   gobject_class->constructed = shell_glsl_quad_constructed;
   gobject_class->dispose = shell_glsl_quad_dispose;
 
+  actor_class->get_paint_volume = shell_glsl_quad_get_paint_volume;
   actor_class->paint = shell_glsl_quad_paint;
 
   g_type_class_add_private (klass, sizeof (ShellGLSLQuadPrivate));